package cn.xiaomubiao.oschine.base;

import android.app.Activity;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

/**
 * 4个基本模块的Fragment 基类
 * @author 张伟斌
 */

public abstract class BaseNavFragment extends Fragment {

    //定义一个成员变量 上下文 Activity
    public Activity mActivity; // 所依附的页面对象
    protected int pagerId;

    //onCreate方法 fragment的新建
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //初始化上下文变量 直接获取当前fragment所在activity
        mActivity = getActivity();
    }

    //onCreateView fragment布局创建
    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        // 初始化视图
        View view = initView();
        return view;
    }

    // onActivityCreated fragment所在的activity的oncreate方法执行完成
    @Override
    public void onActivityCreated(Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        // 初始化数据
        initData();
    }

    // 两个抽象方法 初始化fragment视图和初始化数据
    public abstract View initView();
    public abstract void initData();

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
    }

    // 提供设置详情页面的id的方法
    public void setPagerId(int pagerId){
        this.pagerId = pagerId;

    }

}
